package cn.ittaoli.szdz.service;

import cn.ittaoli.szdz.dao.DzJbxxMapper;
import cn.ittaoli.szdz.dao.DzJbxxMapperCustomer;
import cn.ittaoli.szdz.model.DzJbxx;
import cn.ittaoli.utils.ExcelUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * Created by lub_lenovo on 2017/11/9.
 */
@Service
public class SingleService {
    @Autowired
    private DzJbxxMapper dzJbxxMapper;

    @Autowired
    private DzJbxxMapperCustomer dzJbxxMapperCustomer;

    public PageInfo getData(Integer page, Integer rows) {
        PageHelper.startPage(page,rows);

        List<DzJbxx> dzJbxxes=dzJbxxMapperCustomer.getAll();

        PageInfo<DzJbxx> pageInfo=new PageInfo<DzJbxx>(dzJbxxes);
        return pageInfo;
    }

    public Integer readExcel(String absPath) {
        Integer result=0;

        Map<String, List<HSSFRow>> map = ExcelUtils.importExcel(absPath);

        for (List<HSSFRow> hssfRows:map.values()){
            for (HSSFRow row:hssfRows){
                int physicalNumberOfCells = row.getPhysicalNumberOfCells();

                if(physicalNumberOfCells>0){
                    DzJbxx dzJbxx=new DzJbxx();

//                 "id","考生号","语文成绩","数学成绩","外语成绩"};
                    String id = ExcelUtils.getValue(row.getCell(0));
                    dzJbxx.setKsh(Long.parseLong(ExcelUtils.getValue(row.getCell(1))));
                    //dzJbxx.setXm(ExcelUtils.getValue(row.getCell(2)));
                    dzJbxx.setYwcj(ExcelUtils.transformType(ExcelUtils.getValue(row.getCell(3))));
                    dzJbxx.setSxcj(ExcelUtils.transformType(ExcelUtils.getValue(row.getCell(4))));
                    dzJbxx.setWycj(ExcelUtils.transformType(ExcelUtils.getValue(row.getCell(5))));

                    result+=dzJbxxMapperCustomer.updateSelectiveByKsh(dzJbxx);
                }

            }
        }
        return result;
    }

    public List<DzJbxx> selectAllJbxx() {
        return dzJbxxMapperCustomer.getAll();
    }
}
